Digital filters of various types are well-known. One type of digital filter is a finite impulse response (FIR) filter in which various proportions of current and delayed samples are added together to produce the current filtered sample. FIR filters are very desirable in many applications because their response characteristics can be changed simply by changing the coefficients by which the various delayed samples are multiplied.
In very high speed applications, however, the applicability of known FIR filters is severely limited. The reason for this limitation is that in order to maintain adjustability and avoid an unacceptable proliferation of hardware, the multiplications of the individual delayed samples by their respective coefficients must be performed sequentially. Inasmuch as the sharpness of the rolloff depends on the number of taps within the filter, a high-quality filter is therefore quite slow. Furthermore, high-speed devices require the use of flash-type analog-to-digital converters (ADC's) in which each signal level to be encoded requires a separate comparator. In certain applications such as radar, the signal range which must be accommodated by the ADC at the input of the filter may be on the order of 96 decibels. Inasmuch as it takes about one bit of digital code for each 6 db of signal range, a 96 db range requires 16 digital bits, i.e. more than 65,000 signal levels. The resulting hardware complexity in a flash ADC encoder makes it impossible in practice to process signals spanning such a wide dynamic input range at radar frequencies by conventional FIR filtering techniques.
It has been previously proposed to accelerate the operation of the filter by substituting much faster shifting operations for the multiplication operations in each tap of the filter. In order to do this, however, the coefficients had to be powers of 2 (see U.S. Pat. Nos. 3,696,235 to Tufts, 3,979,701 to Tomozawa, 3,988,606 to Eggermont, and 4,185,325 to Appel), and they could therefore not be set at precise enough values for the filter to have the exact desired characteristics. Furthermore, the resulting speed increase still did not solve the problem of handling a wide dynamic input range.